package br.edu.granbery.indianostore.action;

import java.io.IOException;
import java.text.NumberFormat;
import java.util.Locale;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.granbery.indianostore.controller.Action;
import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.dao.ProdutoDao;
import br.edu.granbery.indianostore.model.Produto;

public class ConsultarProdutoComDetalhesAction implements Action {

	@Override
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		
		String id = request.getParameter("id");
		
		try {
			HttpSession sessao = request.getSession(true);
			DaoFactory factory = (DaoFactory) sessao.getAttribute("factory");
			ProdutoDao produtoDao = factory.getProdutoDao();
			Produto produto = new Produto();
			produto = produtoDao.buscar(Integer.parseInt(id));
			
			Locale ptBr = new Locale("pt", "BR");
			NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(ptBr);
			
			request.setAttribute("produto", produto);
			request.setAttribute("valor", moedaFormat.format(produto.getValor()));
			
			RequestDispatcher view = request.getRequestDispatcher("/View/Produto/DetalhesProduto.jsp");
			
			view.forward(request, response);
		} catch (ServletException e) {
			e.printStackTrace();
		}
	}
}